又來參加鐵人賽了!這次我決定給自己一個不同的挑戰 —— 從頭開始學習 iOS。透過這 30 天的學習計畫,我希望能建立一份屬於自己的知識地圖,釐清哪些是 iOS 開發的核心必備技能,哪些則是可以在未來慢慢延伸、深入探索的進階主題。
一開始在思考題目時,其實我原本想寫 AI 相關的內容。但在今年下半年的工作中,出現了一些新的挑戰,不再只有 Android 的開發需求,iOS 的挑戰也接踵而來。對我來說,iOS 一直是個相對陌生的領域,某種程度上也算是「盲區」。
我當時就在想:要怎麼突破這個盲區?當然,AI 是一個可能的解法,但根據我過去的經驗,如果自己本身基礎不夠扎實,往往很難判斷 AI 回覆的內容到底正不正確。尤其在程式開發這塊,一個細節錯了,整個流程可能就跑不起來。
所以我決定,與其單純依賴 AI,不如透過這次鐵人賽,系統化地學習 iOS,補齊自己的短板,為未來的跨平台開發做好準備。
為了不讓自己迷路,我把這 30 天的學習計畫拆成四個循序漸進的階段:
打好基礎
先從 Swift 語言本身出發,學習變數、控制流程、函式、物件導向,還有 Swift 特有的語法糖。
開始做畫面
接著進入 SwiftUI,這是 Apple 近年主推的聲明式 UI 框架。這一階段的目標很簡單:能用 SwiftUI 組出常見的畫面元件,例如清單、表單、Alert、Navigation。
APP專案常用技能
再來要接觸一些 App 開發必備的核心技能:像是 MVVM 架構、Combine 與 async/await 的非同步處理、還有簡單使用第三方框架(例如套件管理與網路請求)。
專案實作
最後透過專案實作:透過一個小型專案來驗證所學,幫助每天的進度能夠落地,並且在過程中培養解決問題的思維。
根據去年的撰寫經驗,今年我決定訂幾個寫作目標,來幫助我在寫作技術上能夠提升,並且定時回顧前面的文章來進行滾動式調整:
這次的鐵人賽,我想用 30 天的時間,把「未知」變成「入門」,也希望這些學習紀錄能成為未來回顧時的一個里程碑。